<?php
include_once('classes/Noticia.php');
libxml_use_internal_errors(true);

function parsear($rss, $diario){

	//Defino el vector de noticias
	$vector_noticias =  array();
	//Defino el contador
	$i = 0;

	$rss_feed = simplexml_load_file($rss);
	
	//if($rss_feed == false ){
	if(!$rss_feed){
		$xml = explode("\n", $rss_feed);
		$errors = libxml_get_errors();
		foreach ($errors as $error) {
			echo display_xml_error($error, $xml);
		}
		libxml_clear_errors();
		echo "ERROR";

	}else{

		foreach($rss_feed->channel->item as $item){
			//creo un objeto Noticia en la posicion
			$vector_noticias[$i] = new Noticia();

			//guardo los datos en el objeto
			$vector_noticias[$i]->set_titulo($item->title);
			
			//$vector_noticias[$i]->set_imagen($imagen);
			$vector_noticias[$i]->set_fuente($diario);	
			$vector_noticias[$i]->set_resumen($item->description);	
			$vector_noticias[$i]->set_link($item->link);
			
			//aumento el contador en 1
			$i = $i + 1;
		}
	}
	return ($vector_noticias);
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}
?>